package com.beep.erp.model.stockdetail;

import com.beep.erp.common.base.BaseBean;
import com.beep.erp.common.base.BasePresenter;
import com.beep.erp.common.base.BaseView;
import com.beep.erp.common.bean.BizStorageLocationsListBean;
import com.beep.erp.common.bean.StockListBean;
import com.beep.erp.model.addinstock.SaveStockBody;

import rx.Observable;

/**
 * Created by jolly on 2018/9/2.
 */

public interface StockDetailContract {
    interface Model {
        Observable<StockListBean> getStockDetail(String sign, String timeStamp, String purchaseId);

        Observable<BaseBean> saveInstock(String sign, String timeStamp, SaveStockBody saveStockBody);

        Observable<BizStorageLocationsListBean> getBizStorageLocationList(String sign, String timeStamp, String type);

    }

    interface View extends BaseView {
        void getDate();

        void getStockDetail(StockListBean stockListBean);

        void getBizStorageLocationList(BizStorageLocationsListBean bizStorageLocationsListBean);

        void saveInstock();
    }

    abstract class Presenter extends BasePresenter<Model, View> {
        public abstract void getStockDetail(String sign, String timeStamp, String purchaseId);

        public abstract void saveInstock(String sign, String timeStamp, SaveStockBody saveStockBody);

        public abstract void getBizStorageLocationList(String sign, String timeStamp, String type);

    }
}
